package org.jsola.hr.service;


import org.jsola.core.Page;
import org.jsola.core.service.IService;
import org.jsola.hr.dao.IEmpInfoDAO;
import org.jsola.hr.dto.*;
import org.jsola.hr.entity.EmpInfoDO;
import org.jsola.hr.query.*;
import org.jsola.hr.vo.*;
import org.jsola.user.core.TokenUser;

import java.util.List;


/**
 * 员工信息
 *
 * @author zhr
 */
public interface IEmpInfoExtraService extends IService<IEmpInfoDAO, EmpInfoDO> {

    /**
     * 查询员工
     *
     * @param empInfoQuery 查询条件
     * @param tokenUser    当前用户
     * @return 员工列表
     */
    Page<EmpInfoVO> selectSiteEmp(EmpInfoQuery empInfoQuery, TokenUser tokenUser);

    /**
     * 粘贴选择(商保)
     *
     * @param idCardList 身份证号号列表
     * @param tokenUser  当前用户
     * @return 员工列表
     */
    EmpInfoPasteVO selectSiteEmpStickupSelect(List<String> idCardList, TokenUser tokenUser);


    /**
     * 导出身份证文件
     *
     * @param hrEmpInfoDownloadDTO 查询参数
     * @param tokenUser            当前用户
     * @return 身份证文件保存路径
     */
    String downIdCard(HrEmpInfoDownloadDTO hrEmpInfoDownloadDTO, TokenUser tokenUser);

    /**
     * 查询站点下使用指定手机号的员工
     *
     * @param names  员工姓名
     * @param siteId 站点Id
     * @return 站点下使用手机号的员工
     */
    List<EmpInfoDO> selectByNamesAndSiteId(List<String> names, String siteId);
}


